#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
#include<errno.h>
#include<memory.h>

#define DEFAULT_TABLE_SIZE 3

typedef int V;
typedef int K;

typedef struct K_V
{
	V value;
	K key;
}K_V;

typedef struct ListNode
{
	K key;
	V value;
	struct ListNode* next;
}ListNode;

typedef struct HashMap
{
	int table_size;
	ListNode* table;
}HashMap;

HashMap* initialization(int ts);
void add(HashMap* hm, K key, V value);
void remove_by_key(HashMap* hm, K key);
K_V get(HashMap* hm, K key);
void destory(HashMap* hm);